Compiling with Types

نویسنده

  • Vincent St-Amour
چکیده

This paper presents a program transformation, representation analysis, that makes it possible for languages with polymorphic types, such as ML, to use unboxed data representations in monomorphic code. The solution the paper presents involves the use of coercions to convert back and forth between unboxed representations used by monomorphic functions to the boxed representation used by polymorphic functions. The paper then presents a formalization of the transformation and proofs of both its type correctness and semantic correctness. The technique is then extended to support concrete ML datatypes and mutable types. Finally an overview of the implementation of the transformation in the Gallium Caml Light compiler is presented, along with benchmarks comparing Gallium with other ML compilers.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluating the Residents’ Opinions of the Neighborhood about the Inter-productive Structures in Historical Context of Julfa, Isfahan

Isfahan’s Julfa neighborhood has been one of the valuable historical neighborhoods related to the Safavid era. It is different from other neighborhoods of the city due to the residents’ cultural-religious differences. Interventions in historical contexts are taking place with a variety of approaches around the world. The present study was conducted to answer this question: What should the inter...

متن کامل

Compiling Laziness Using Projection Types

Strictness analysis is accepted as an important tool for the eecient implementation of lazy functional languages. However, the analyses are usually rst-order and the optimisations that follow may be ad hoc. Using projections to represent static properties of programs is appealing because they naturally describe component-wise demand on data structures and can handle latent demands such as head-...

متن کامل

Compiling the Process Functional Programs

This paper briefly describes process functional language compiler architecture. Process functional language is an experimental functional language with imperative features like memory cell variables. The main parts of the process functional language compiler are presented with short description and examples. Current implementation of PFL compiler comprises a algebraic types, primitive functions...

متن کامل

Parametricity as Subtyping (preliminary Report)

A polymorphic function is parametric if it has uniform behavior for all type parameters. This property is useful when writing, reasoning about, and compiling functional programs. We show how to syntactically deene and reason about parametricity in a language with intersection types and bounded polymorphism. Within this framework, parametricity is subtyping, and reasoning about para-metricity be...

متن کامل

Designing and Compiling a Human Capital Management Model in West Oil and Gas Exploitation Company

The purpose of this study is to design human capital management model in West Oil and Gas Exploitation Company. This research is an applied development in terms of purpose and qualitative in terms of nature. Experts were identified by targeted sampling and snowball sampling, which interviewed with 15 experts. The method of analysis was grounded theory and data were collected through semi-struct...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010